package br.com.leopard.erp.gym.bean.municipio;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.inject.Inject;

import br.com.leopard.erp.gym.bean.generic.AbstractCRUDBean;
import br.com.leopard.erp.gym.mapeamento.cad.Estado;
import br.com.leopard.erp.gym.mapeamento.cad.Municipio;
import br.com.leopard.erp.gym.negocio.cad.EstadoNegocio;
import br.com.leopard.erp.gym.negocio.cad.MunicipioNegocio;

@ManagedBean
@ViewScoped
public class MunicipioBean extends AbstractCRUDBean<Municipio, Long> {

	@Inject
	private MunicipioNegocio negocio;

	@Inject
	private EstadoNegocio estadoNegocio;

	private List<Estado> estadoList;

	public MunicipioBean() {
		super(Municipio.class);
	}

	@PostConstruct
	private void init() {
		super.setNegocio(negocio);
	}

	public List<Estado> getEstadoList() {
		return estadoList;
	}

	@Override
	protected void procedimentosAntesAcessarCRUD() {
		estadoList = estadoNegocio.listAllAtivos();
	}

	@Override
	protected void procedimentosAntesAcessarListagem() {
		estadoList = null;
	}
}
